#include "./Handler.h"

Handler::Handler() {
    mLooper = Looper::getThreadLocalLooper();
}

Handler::Handler(Looper *looper) {
    mLooper = looper;
}

void Handler::setLooper(Looper *looper) {
    mLooper = looper;
}

void Handler::sendMessage(Message *msg) {
    msg->handler = this;
    mLooper->enQueue(msg);
}

void Handler::sendEmptyMessage(int what) {
    Message *msg = Message::obtain(what, this);
    mLooper->enQueue(msg);
}

void Handler::post(MessageCallback callback) {
    Message *msg = Message::obtain();
    msg->callBack = callback;
    msg->handler = this;
    mLooper->enQueue(msg);
}